home *** CD-ROM | disk | FTP | other *** search
- #!/path/to/eggdrop
- #
- # This is a sample configuration file for your bot. You will definitely
- # want to edit this, to set up your bot. Right now it creates a bot called
- # "LamestBot" which sits on channel #lamest.
- #
- # The most vital things are listed at the top of this file, with the more
- # complicated or obscure options further down. So you don't necessarily
- # need to edit this whole thing, although it might be a good idea if you
- # want your bot to be hard to spot, and to work exactly the way you want
- # it to.
- #
-
-
- ##### GENERAL STUFF #####
-
-
- # the stuff people will see in /whois
- set nick "Lamestbot"
- set altnick "Llamabot" ;# if the nick you want is in use
- set username "lamest" ;# does not work if you have ident running!
- set realname "/msg LamestBot hello"
-
- # who's running this bot?
- set admin "Lamer <email: lamer@lame.connected.com>"
-
- # response for CTCP VERSION (change this to make your bot hard to find)
- set ctcp-version "ircII 2.6 SunOS 4.1.3 :ircii 2.6: almost there..."
-
- # response for CTCP FINGER (change this to make your bot hard to find)
- set ctcp-finger "Lamestbot (root@home), idle 0 seconds"
-
- # response for CTCP USERINFO (change this to make your bot hard to find)
- set ctcp-userinfo "<None Supplied>"
-
- # [0/1] let users introduce themselves to the bot via 'hello'?
- set learn-users 1
-
- # many irc ops check for bots that respond to 'hello'. you can change this
- # to another word by uncommenting the following two lines, and changing
- # "myword" to the word you want to use instead of 'hello' (it must be a
- # single word)
- # novice users are not expected to understand what these two lines do; they
- # are just here to help you. for more information on 'bind', check the file
- # 'tcl-commands.doc'
- #unbind msg - hello *msg:hello
- #bind msg - myword *msg:hello
-
- # the server list -- the bot will start at the first server listed, and cycle
- # through them whenever it's disconnected
- # (please note: these examples are not real servers)
- set servers {
- newyork.happyirc.net:6667
- sanjose.happyirc.net:6667
- seattle.happyirc.net:6667
- frankfurt-am.happyirc.net:6667
- peking.happyirc.net:6660
- }
-
- # what IRC network are you on? this is just info to share with others on
- # your botnet, for human curiosity only.
- set network "NowhereNet"
-
- # [0/1] even if all the servers are down, cycle forever and keep trying to
- # connect?
- set never-give-up 0
-
- # how many seconds to wait for a response when connecting to a server
- # before giving up and moving on?
- set server-timeout 15
-
- # if the number of servers on the net gets below this number, it will
- # jump to a new server (ie, it will assume it's on the losing end of a
- # netsplit) -- set to 0 to turn off
- # [most irc networks use TS now, so it's to your advantage to turn this off]
- set servlimit 0
-
- # [0/1] if the bot's nickname is changed (for example, if the intended
- # nickname is already in use) keep trying to get the nick back?
- set keep-nick 1
-
-
- ##### CHANNEL PROTECTION #####
-
-
- # do this for each channel you wish to sit on:
- # NOTE: for some reason Tcl won't let you put comments inside { } -- so
- # don't try it, cos it'll mess up your channel definition
-
- channel add #lamest {
- chanmode "+nt-likm"
- idle-kick 15
- need-op { putserv "PRIVMSG #lamest :op me please!" }
- need-invite { putserv "PRIVMSG #lamest :let me in!" }
- }
-
- # the things inside the { } are CHANNEL OPTIONS -- they can be set within
- # the "channel add" command, or by using a "channel set" command as in the
- # examples below. they list all the options you can set for a channel.
-
- # chanmode
- # what modes will be enforced? '+' modes will always be kept on, '-' modes
- # will always be kept off
- # idle-kick
- # kick channel members after how many minutes of being idle?
- # (leave out to disable, or set to 0)
- # need-op
- # script to run (if any) when the bot needs to be op'd on this channel
- # need-invite
- # script to run (if any) when the bot gets locked out of this channel
- # (like if the channel is +i, or the bot is banned, etc)
-
- # note that "need-op" and "need-invite" are limited to 120 characters,
- # so if you want to so something more complicated, just write a proc,
- # and make "need-op" or "need-invite" call your proc.
-
- # there are also a lot of options that can be turned on or off for each
- # channel. to turn an option on, put a + in front of it. to turn it off,
- # put a - in front of it. ie, to have auto-op, put:
- # +autoop
- # to turn it off, put:
- # -autoop
-
- # clear all channel bans when the bot joins? (ie, force the channel's
- # ban list to match the bot's internal list)
- channel set #lamest -clearbans
-
- # when a ban is set, kick people who are on the channel and match the
- # new ban? (ie, they were on the channel before the ban)
- channel set #lamest +enforcebans
-
- # only activate bans on the channel when necessary? (this keeps the
- # channel's ban list from getting excessively long. the bot still remem-
- # bers every ban, but it only activates a ban on the channel when it sees
- # someone join who matches that ban.)
- channel set #lamest +dynamicbans
-
- # allow bans to be made by users directly? (if turned off, the bot will
- # require all bans to be made through the bot's console)
- channel set #lamest +userbans
-
- # op users with the +o (op) flag as soon as they join the channel?
- # (hint: this is a BAD IDEA)
- channel set #lamest +autoop
-
- # only let users with +o (op) flag be channel ops?
- channel set #lamest -bitch
-
- # say a user's info line when she joins the channel?
- channel set #lamest +greet
-
- # re-op a user with the +o (op) flag if they get deopped?
- channel set #lamest +protectops
-
- # log the channel status line every 5 minutes? (some people think
- # it's annoying; i think it's neat)
- channel set #lamest +statuslog
-
- # de-op someone that enters the channel with server ops (ie, netsplit
- # ops) when they didn't have them before the split?
- channel set #lamest +stopnethack
-
- # remember people who deop/kick/ban the bot or valid ops, and punish them?
- # users with +f (friend) flag are exempt from revenge
- channel set #lamest +revenge
-
- # prevent this channel from being listed on the botnet? (for paranoid
- # people)
- channel set #lamest -secret
-
-
- # here's a shorter example:
- channel add #botcentral {
- chanmode "+mntisl 1"
- idle-kick 1
- }
- channel set #botcentral +bitch +clearbans +enforcebans -greet +revenge
-
-
- # [0/1] allow users to store an info line?
- set use-info 1
-
- # [0/1] if this is set, a leading '~' on user@hosts WON'T be stripped off
- set strict-host 0
-
-
- ##### LOG FILES #####
-
-
- # you can have up to 5 log files. at midnight every day, the old log files
- # are renamed and a new log file begins. by default, the old one is called
- # "(logfilename).yesterday", and any logfiles before yesterday are erased.
-
- # events are logged by certain categories -- this way you can specify
- # exactly what kind of events you want sent to various logfiles. the
- # events are:
- # m private msgs/ctcps to the bot
- # k kicks, bans, mode changes on the channel
- # j joins, parts, netsplits on the channel
- # p public chatter on the channel
- # s server connects/disconnects/notices
- # b information about bot linking and userfile sharing
- # c commands people use (via msg or dcc)
- # x file transfers and file-area commands
- # r (if defined in eggdrop.h) EVERYTHING sent to the bot by the server
- # o other: misc info, errors -- IMPORTANT STUFF
-
- # each logfile also belongs to a certain channel. events of type 'k', 'j',
- # and 'p' are logged to whatever channel they happened on. most other
- # events are currently logged to every channel. you can make a logfile
- # belong to all channels by assigning it to channel "*". there are also
- # five user-defined levels ('1'..'5') which are used by Tcl scripts.
-
- # in 'eggdrop.log' put msgs, commands, and errors from any channel:
- logfile mkco * "eggdrop.log"
- # in 'lame.log' put joins, parts, and mode changes from #lame:
- logfile jk #lame "lame.log"
-
- # [0/1] timestamp entries in the log file? (generally a good idea)
- set log-time 1
-
- # [0/1] keep logfiles for more than 48 hours -- instead of being called
- # "(logfilename).yesterday", the log files are named by the current date,
- # and kept around forever (eventually your directory might get full, so
- # be careful with this!)
- set keep-all-logs 0
-
- # once a day the logfiles are switched out and started fresh --
- # this specifies when that should happen (in military time)
- # [note that a leading 0 will make Tcl think this is an octal value,
- # something you probably don't want.]
- set switch-logfiles-at 300
-
- # this is the default console mode -- what masters will see automatically
- # when they dcc chat with the bot (masters can alter their own console
- # flags once they connect, though) -- it uses the same event flags as
- # the log files
- # (note that the console channel is automatically set to your "primary"
- # channel -- the one you defined first in this file. masters can change
- # their console channel with the '.console' command, however.)
- set console "mkcobxs"
-
-
- ##### FILES AND DIRECTORIES #####
-
-
- # the userfile: where user records are stored
- set userfile "LamestBot.user"
-
- # the notefile: where private notes between users are stored
- set notefile "LamestBot.notes"
-
- # where the help files can be found (and there are plenty)
- set help-path "help/"
-
- # where miscellaneous info files are
- set text-path "text/"
-
- # a good place to temporarily store files (ie: /tmp)
- set temp-path "/tmp"
-
- # the MOTD is displayed when people dcc chat to the bot
- set motd "motd"
-
-
- ##### FILE SYSTEM #####
-
-
- # the file transfer area works via dcc chat. you can turn the file system
- # off by not defining the 'dcc-path' below.
-
- # this is the 'root' directory for the file system (set it to "" if you
- # don't want a file system)
- set files-path "/home/mydir/dcc"
-
- # if you want to allow uploads, set this to the directory uploads should be
- # put into
- set incoming-path "/home/mydir/dcc/incoming"
-
- # [0/1] alternately, you can set this, and uploads will go to the current
- # directory that a user is in
- set upload-to-pwd 0
-
- # eggdrop creates a '.filedb' file in each subdirectory of your dcc area,
- # to keep track of its own file system info -- if you can't do that (like
- # if the dcc path isn't owned by yours) or you just don't want it to do
- # that, specify a path here where you'd like all the database files to
- # be stored instead (otherwise, just leave it blank)
- set filedb-path ""
-
- # set maximum number of people that can be in the file area at once
- # (0 to make it effectively infinite)
- set max-file-users 20
-
- # set maximum number of simultaneous downloads to allow for each user
- set max-dloads 3
-
- # set the block size for dcc transfers (ircII uses 512 bytes, but admits
- # that may be too small -- 1024 is standard these days)
- # set this to 0 to use turbo-dcc (recommended)
- set dcc-block 0
-
- # maximum allowable file size that will be received, in K
- # (default is 1024K = 1M)
- set max-filesize 1024
-
- # [0/1] copy files into the /tmp directory before sending them? this is
- # useful on most systems for file stability. (someone could move a file
- # around while it's being downloaded, and mess up the transfer.) but if
- # your directories are NFS mounted, it's a pain, and you'll want to set
- # this to 0.
- set copy-to-tmp 1
-
-
- ##### END OF IMPORTANT STUFF #####
-
-
- # You don't need to change anything below here if you don't want to. These
- # are more exotic or specialized settings that most people may not need to
- # change. To make sure you've at least SKIMMED the config file up to this
- # point, the following line was added. REMOVE THIS LINE:
- die "Please edit your config file."
-
- # You MUST remove that line for this config file to work. This has been
- # added to prevent you from starting up a bot that is not fully configured.
- # Bots that have not been fully configured may join the wrong IRC network,
- # the wrong channels, or generally do things that you do not want. Please
- # make sure that you have double-checked the settings you want.
-
-
- ##### BOTNET #####
-
-
- # you probably shouldn't deal with this until reading 'botnet.doc' or
- # something. you need to know what you're doing.
-
- # if you want to use a different nickname on the botnet than you use on
- # IRC, set it here:
- #set botnet-nick "prae"
-
- # what telnet port should this bot answer?
- # NOTE: if you are running more than one bot on the same machine, you will
- # want to space the telnet ports at LEAST 5 apart... 10 is even better
- listen 3333 all
-
- # if you would rather have one port for the botnet, and one for normal
- # users, you will want something like this instead:
- #listen 3333 bots
- #listen 4444 users
-
- # [0/1] share user data with other bots on the channel?
- set share-users 0
-
- # [0/1] allow other bots userfiles to overwrite yours?
- set passive 0
-
- # [0/1] users with the +g (global op) flag will still need the +p (party
- # line) flag to join the dcc chat party line?
- set require-p 0
-
- # [0/1] allow people to telnet in, type 'NEW', and become a new user?
- set open-telnets 0
-
- # how long (in seconds) should i wait for a connect (dcc chat, telnet,
- # relay, etc) before it times out?
- set connect-timeout 15
-
-
- ##### MORE ADVANCED STUFF #####
-
-
- # are you behind a firewall? uncomment this and specify your socks host
- #set firewall "proxy:178"
- # or, for a Sun "telnet passthru" firewall, set it this way
- # (does anyone besides Sun use this?)
- #set firewall "!sun-barr.ebay:3666"
-
- # if you're using virtual hosting (your machine has more than 1 IP), you
- # may want to specify the particular IP to bind to. you can specify
- # either by hostname or by IP. you may also want to set the hostname
- # here if eggdrop has trouble detecting it when it starts up. (it will
- # let you know if it has trouble -- trust me.)
- #set my-hostname "virtual.host.com"
- #set my-ip "99.99.0.0"
-
- # if you want all dcc file transfers to use 1 particular listening port
- # (this pretty much limits you to one concurrent file transfer at a time),
- # either because you're behind a firewall, or for other security reasons,
- # set it here
- #set reserved-port 9076
-
- # script to run (if any) when first connecting to a server
- set init-server { putserv "MODE $botnick +i-ws" }
-
- # NOTE: 'gain-ops' is now outdated and unused!
-
- # how many msgs in how many seconds from the same host constitutes a flood?
- set flood-msg 5:60
- # how many public msgs in how many seconds?
- set flood-chan 10:60
- # how many joins/nick changes in how many seconds?
- set flood-join 5:60
- # how many CTCPs in how many seconds?
- set flood-ctcp 3:60
-
- # temporary bans will last how many minutes?
- set ban-time 60
- # temporary ignores will last how many minutes?
- set ignore-time 10
-
- # normally the user file is saved once an hour, on the hour
- # you can change that here (for example, "15" means to save every
- # hour at 15 minutes past the hour)
- set save-users-at 00
-
- # send a note to anybody when I learn new users?
- set notify-newusers "HQ"
-
- # if compiled with owner, the following user(s) will ALWAYS have the
- # owner (+n) flag
- set owner "MrLame, MrsLame"
-
- # what flags should new users get as a default?
- set default-flags "px"
-
- # what user-defined fields should be displayed in a '.whois'?
- set whois-fields "url birthday"
-
- # load that toolkit of useful scripts (some script packages may depend
- # on this being loaded)
- source scripts/toolkit.tcl
-